macOS 13+ · v1.14.0 · MIT

自分が書いていないテキストを、
調べて、正す。

ログ、CSV、エクスポート、ダンプ、差分。どこかから降ってきたテキストです。だから大きさも文字コードも、どれだけ読みにくいかも、こちらでは選べません。MrEditor は、それを開いて、絞って、桁を揃えて、見比べて、直して、ファイルを半端な状態にせずに保存します。

Apple Developer ID で署名し、Apple の公証を通しています。ダブルクリックするだけで開きます。Apple Silicon / Intel 両対応。

MrEditor で開いた「自分が書いていないテキスト」4 種類 —— サービスのログ、581 万行の CSV を桁を揃えたまま絞り込んだところ、1 行に潰れた JSON レスポンスの整形、設定ファイル 2 つの差分(変わった 1 文字まで)

左上から順に、サービスのログ、581 万 6535 行の CSV を桁を揃えたまま絞り込んだところ、1 行に潰れた JSON レスポンスの整形、設定ファイル 2 つの差分(変わった 1 文字まで)。どれも、見ている人が書いたテキストではありません。

5,816,535
開いた行数(全部)
51ms
最初の行が出るまで
78MB
アプリが使ったメモリ
0.9s
全行を数え終わるまで

1 つのファイル、1 回の実測です。国税庁の法人番号 全件データ CSV —— 1.18 GiB・581 万 6535 行・30 列。2026-08-03、配布版 1.10.2 で計測。Excel は同じファイルを開いて 104 万 8576 行で止まります。仕様上の上限で、約 60 秒と 2.24 GB を使って 476 万 7959 行を落とし、警告は出ません。Numbers は 8 分待っても開きませんでした。これは巨大ファイル用の芸ではありません。天井はもっと上で、10 GB・8642 万 337 行のログも約 80 ミリ秒で開き、vmmap で見ると dirty は 0 バイト(マップするだけでコピーしないため)。ただ、ファイルが大きくなっても何も変わらない、というだけです。

構造化表示

ぐちゃぐちゃの CSV を開く。桁が、揃う。

表示メニューで構造化表示に切り替えると、CSV/TSV は桁揃え、1 行に潰れた JSON はその場で整形 —— 数百万行でも一瞬です。しかも、桁を揃えたまま grep できます。一致する行だけに絞り込んでも、列は揃ったまま。サイズは問いません。整形は表示だけの read-only なので、ディスク上のファイルは一切変わりません。保存しても出てくるのは原文そのまま、1 バイトも違わない。さらに ⌥⌘J で jmespath 相当のクエリをその場実行。結果は保存されません。区切り文字の無い固定長も、列になります。桁ルーラー(⌥⌘K)で項目の切れ目を置くか、1-8,9-14,15-40 と打つだけ。

ビュー

27 秒。カットなし。

一発撮り・等倍です。10 GB のログを開き、行の索引が背景で走っている最中にスクロールし、検索します。索引が終わるとステータスバーの概算が止み、86,420,337 行に確定します。そこで ⌘L、最後の行へ。

全 86,420,337 行を数え上げる索引は、このファイルで約 10 秒。ステータスバーは最初「約 89,292,800 行」と概算を出し、走査が終わると正確な値に落ち着きます。その間、ビューは一度も止まりません。この録画の検索も、索引が 95% の最中に 137,111 件を見つけています。

しくみ

最初の行が出るまでに読むのは、数十キロバイト。

10 GB のうちの、数十キロバイトです。残りは背景で流し読みして行インデックスを作るだけで、メモリには残しません。全文を先にメモリへ載せる定番のやり方は、このサイズで破綻します。だから、そうしていません。

mmap

全部は読まない

ファイルは mmap。実際に触れたページだけ OS が読み込む。だからサイズに関係なく「開く」が一瞬。

sparse index

1 億行でも約 800 KB

2,000 行ごとに 1 つだけオフセットを保持。任意の行へは短いスキャンで届く。索引は極小。

visible only

数十行だけ描く

固定サイズのビュー+行単位スクローラ。16 億ポイントの巨大ビュー(float 精度の崖)を作らない。

他のどれもやらないこと

10 GB のログを tail -f しながら、書き換える。

末尾追従(⌥⌘F)は tail -f と同じく伸びるファイルを追いますが、リロードしません。mmap の索引を増えたバイトぶんだけ継ぎ足すので、まだ書き込まれ続けている 10 GB のログでも破綻しない。tail できるエディタ(BBEdit・サクラ)はファイルを読み直し、10 GB までスケールするログビューア(klogg・lnav)は読み取り専用です。数 GB のログを増分で追いながら、その場で編集できる —— この組み合わせは、調べた限り他に見当たりませんでした。

v1.14 で追加

見たいログは、サーバーにある。落とさずに開く。

ssh host:/var/log/app.log(⌃⌘O)で末尾から開きます。取ってくるのは見たところだけ。行番号は本物です。絞り込みは向こうで走り、grep -n が一致行と行番号を返します —— 本文は 1 バイトも転送しません。送らないぶん、手元で走査するより速い。追従は tail -f を流し込み、止めれば向こうも止まるので、あなたのサーバーにプロセスは残りません。⌘C は本文だけを返すので、見つけたものはそのままクリップボード比較へ渡せます。認証は /usr/bin/ssh 任せ —— ターミナルで繋がるなら、繋がります。

機能

読む道具は全部。書く道具も。

Pro(準備中)

無料版は 1 本を「見る」。Pro は「答えを出す」。

上に書いたものは今まで通り無料で、MIT のままです。MrkEditor(Pro)として準備しているのは残り半分 —— 数える・要約する・時間で見る・跨いで探す。いまエディタの外へ出てやっていることです。下の数字はすべて製品コードでの実測です(M4 Max・2026 年 8 月)。見積もりではありません。

まだ販売していません。値段も購入ボタンも、わざと置いていません。始まったら、無料版の「分析」メニューからお知らせします。